package com.learn.springbootnetty.tcpdemo.shangchuan;

import java.io.*;
import java.net.Socket;

/**
 * 案例需求
 *
 * 客户端：数据来自于本地文件，接收服务器反馈
 *
 * 服务器：接收到的数据写入本地文件，给出反馈
 * @author xiaodonghong
 * @description TODO
 * @date 2023/6/13-13:24
 */

/**
 客户端:利用TCP协议负责发送数据
 */
public class Client {
    public static void main(String[] args) throws IOException {
        /*
            上传文件
            客户端:将本地文件上传到服务器,接收服务器的反馈
            服务器:接收客户端上传的文件,上传完毕之后给出反馈
         */

        // 1.创建客户端的Socket对象并连接服务器
        Socket socket = new Socket("192.168.33.7",60001);

        // 2.读取本地文件中的数据,并写到服务器当中
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\gsafety\\适岗状态课题\\课题5\\营运车船驾驶人员适岗状态网联智能监测预警平台-0611\\专题图管理.png"));
        BufferedOutputStream bos = new BufferedOutputStream(socket.getOutputStream());
        byte[] bytes = new byte[1024];
        int len;
        while((len = bis.read(bytes)) != -1){
            bos.write(bytes,0,len);
        }

        // 3.往服务器写出结束标记
       // socket.shutdownOutput();

        // 4.接收服务器的回写数据
/*        BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        String line;
        while((line = br.readLine()) != null){
            System.out.println(line);
        }*/

        // 5.释放资源
        socket.close();
    }
}
